1. Technical Field of the Invention
The present invention relates to a task processing system, and particularly, to a task processing system for speeding up task processing by controlling generation of overhead for task switching in the case of processing a large number of small sized tasks.
2. Description of the Prior Art
In a conventional task processing system, when the tasks to be processed are known in advance, the task processing speed of the system is optimized by scheduling the tasks beforehand.
On the other hand, when it is impossible to schedule the tasks, the tasks are processed as asynchronous events such as interrupts. For example, in the “Queue Processing Method” as disclosed in JP10-326197 A (1998), ordinary events from software and interrupt events caused by a timer or hardware interrupt are accepted at any time, and are registered into an input key. Then, they are executed sequentially without prohibiting interrupt.
As shown in FIG. 5, in the above-mentioned “Queue Processing Method”, the queue entries of ordinary events and interrupt events are prepared. When interrupt 1 event occurs, its content is stored in interrupt 1 event information block, and its event queue is added to the interrupt 1 event queue. Interrupt 2 event is processed in the same way. The data stored in the interrupt 1 event information block and the interrupt 2 event information block is registered again as the ordinary event, by releasing the registration of the interrupt event queue without transferring it to the ordinary event information block.
However, the above-mentioned conventional task processing system has a disadvantage that it cannot improve the speed of the task processing of the whole system, because it is impossible to schedule the tasks beforehand. Therefore, it becomes necessary to generate overheads for acquiring and releasing the resources necessary for the task processing.
The conventional task processing system has another disadvantage that it is not suitable for processing a large number of small-sized tasks, because a lot of overheads for task switching becomes necessary.